package com.uinnova.product.eam.web.diagram.peer;

import java.util.List;

import com.uinnova.product.eam.model.DiagramDirTree;
import com.uinnova.product.eam.model.VcDiagramInfo;
import com.uinnova.product.eam.web.diagram.bean.DiagramDirInfo;
import com.uinnova.product.eam.web.diagram.bean.MyDiagramCdt;
import com.uinnova.product.eam.web.diagram.bean.VcDiagramInfoResultWithTopping;

public interface DiagramV2Peer {

	/**
	 * 查询设计单元
	 * */
	DiagramDirInfo queryMyDirInfoPageByParentId(Integer pageNum, Integer pageSize, MyDiagramCdt paramCdt);


	/**
	 * 查询目录是视图列表信息
	 * @param dirType
	 * @param queryType
	 * @param like
	 * @param dirUserId
	 * @return
	 * */
	DiagramDirTree queryDiagramTree(Long processId,Integer dirType, Integer queryType, String like, Long dirUserId);


	/**
	 * 查询展示视图
	 *
	 * */
	DiagramDirInfo queryShowDiagramInfoPage(Integer pageNum, Integer pageSize, MyDiagramCdt cdt, String orders);

	/**
	 * 带置顶的分页页查询视图信息
	 * @param pageSize
	 * @param pageNum
	 * @param cdt
	 * @param orders
	 * @param token
	 * @return
	 * */
	public VcDiagramInfoResultWithTopping queryDiagramInfoPageWithTopping(Integer pageNum, Integer pageSize, MyDiagramCdt cdt, String orders, String token);


	List<VcDiagramInfo> getToppingDiagramInfos(Integer type, String token);

	/**
	  * 通过视图id置顶视图
	  * @param id 视图id
	  * @param type 6：基线库置顶，5：设计库置顶 ， 7=广场
	  * @param token
	  * @return
	  * */
	public Integer toppingDiagramById(Long id,Integer dirType,String token);

	/**
	  * 通过视图id取消置顶视图
	  * @param ids 视图ids
	  * @param type 6：基线库置顶，5：设计库置顶，7=广场 
	  * @param token
	  * @return
	  * */
	public Integer removeToppingDiagramIds(Long[] ids,Integer[] types,String token);
	
	/**
	 * 查询置顶的视图id
	 * @param type
	 * @param token
	 * @return
	 * */
	public List<Long> getToppingDiagramIds(Integer type ,String token);

}
